package com.ctint.petdida;

import java.util.LinkedList;

import com.ctint.petdida.adaptadores.AdapterRefugio;
import com.ctint.petdida.adaptadores.AdapterVeterinaria;
import com.ctint.petdida.clases.Veterinaria;

import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
import greendroid.app.GDActivity;
import greendroid.app.GDListActivity;

public class ListVeterinarias extends GDActivity{
	
	private PetDidaApplication application;
	
	private ListView listaVeterinarias;
	
	private static String POSITION_KEY = "position";
	
	private SQLiteDatabase dataBase;
	private SqliteBD mySQLiteHelper;

	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setActionBarContentView(R.layout.lista_veterinarias);
        setTitle("VETERINARIAS");
        
        mySQLiteHelper = new SqliteBD(this, "DBpetDida", null, 1);
        listaVeterinarias = (ListView)findViewById(R.id.lista_veterinarias);
        application = ((PetDidaApplication)getApplication());
        
        if( application.getDataVeterinarias() == null){
        	Toast.makeText(this, "No hay Registros ir a Configuraciones para Descargar", Toast.LENGTH_SHORT);
        	//** LOAD DATA **//
        	application.setDataVeterinarias(obtenerVeterinarias());
        	
        	//** SET DATA **//
        	listaVeterinarias.setAdapter(new AdapterVeterinaria(this, R.layout.row_veterinaria, 0, application.getDataVeterinarias()));
        }else{
        	//** LOAD DATA **//
        	application.setDataVeterinarias(obtenerVeterinarias());
        	
        	//** SET DATA **//
        	listaVeterinarias.setAdapter(new AdapterVeterinaria(this, R.layout.row_veterinaria, 0, application.getDataVeterinarias()));
        }
        
        listaVeterinarias.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> l, View v, int position, long id) {
				Intent intent = new Intent(getBaseContext(), DetalleVeterinaria.class);
				intent.putExtra(POSITION_KEY, position);
				startActivity(intent);				
			}
		});
    }
     
    private LinkedList<Veterinaria> obtenerVeterinarias() {   	
    	
    	LinkedList<Veterinaria> veterinarias = new LinkedList<Veterinaria>();
    	
    	dataBase = mySQLiteHelper.getWritableDatabase();
    	Cursor cursorUno = dataBase.rawQuery("SELECT * FROM TableVeterinarias", null);
    	if (cursorUno.moveToFirst()) {
    		do {
    			Veterinaria veterinaria = new Veterinaria();
    			String nombre = cursorUno.getString(0);
    			Log.i("NOMBRE:", nombre); veterinaria.setNombre(nombre);
    			String lat = cursorUno.getString(1);
    			Log.i("LAT:", lat);	veterinaria.setLatitud(lat);
    			String lon = cursorUno.getString(2);
    			Log.i("LON:", lon); veterinaria.setLongitud(lon);
    			String url = cursorUno.getString(3);
    			Log.i("URL:", 	url); veterinaria.setUrl(url);
    			String direccion = cursorUno.getString(4);
    	        Log.i("DIRECCION:", direccion); veterinaria.setDireccion(direccion);
    	        String descripcion = cursorUno.getString(5);
    	        Log.i("DESCRIPCION:", descripcion);	veterinaria.setDescripcion(descripcion);
    	        String imagen = cursorUno.getString(6);
    	        Log.i("IMAGEN:", imagen); veterinaria.setImagen(imagen);
    	        String telefono = cursorUno.getString(7);
    	        Log.i("TELEFONO:", telefono);	veterinaria.setTelefono(telefono);
    	        
    	        veterinarias.add(veterinaria);
    	        
    	        } while(cursorUno.moveToNext());
    		}else
    			Log.i("Data Base:", "No hay registros");
    	dataBase.close();
    	return veterinarias;
    	}
    } 